实测Maven依赖包可通过域名抢注实现钓鱼攻击吗 | 您所在的位置:网站首页 › 解析maven依赖 代码 › 实测Maven依赖包可通过域名抢注实现钓鱼攻击吗 |
先说结论:基本不可行
原理
Maven包中 groupId 字段是域名反写,比如你有一个 12345.com,就可以申请到 com.12345 的groupId。 很多开源项目都停止维护,但是很多人使用,这些团队可能忘记续费域名;同时目前Maven搜索引擎全部使用 groupId + artifactId(任意自定义)确定项目唯一性,就会将抢注的内容和之前正常内容代码混为一个项目展示,让人误以为新版本更新了,实际上只是加入了恶意代码。 估计正常碳基生物肯定不会求证每一个版本是不是官方发得,主要也没啥办法可求证... 我们需要做找到一个开源项目,并且抢注它的域名。之后申请 groupId,之后上传一版代码,和之前的略有差别即可。 如果能够成功实现,表示我们成功;不能则表示失败。 找过期域名我们的思路是注册便宜、续费贵的域名过期可能性更大。所以考虑便宜的域名,这里以 top 为例,注册价格约为 9 元/首年,续费26元/年 官方模糊查询接口: https://search.maven.org/solrsearch/select?q=top.&rows=20&wt=json万网域名查询是否注册接口: https://panda.www.net.cn/cgi-bin/check.cgi?area_domain=xxxx.com还是写个脚本自动查询吧,年纪大了... 很快就找到了一个(不到30个里面就有2个可注册,概率太高了) 给他注册一年: 通过查询能看到,这个域名之前还被注册过两次,都过期了 正好这个名下的储存库有代码可参考,直接申请groupId 之后就尴尬了: 会有要求原来的角色部署人在这个jira下评论才可以 获得评论显然,目前已经卡死了,因为我们根本找不到原作者,只知道原作者的Github地址 倒是能够根据Github知道用户邮箱(大部分人都会展示在自己的主页) 其实肯定有社工库同时存在用户邮箱和密码的情况,不过此时可能就是运气成分更多了 由于这不是我们自己的测试账号,本着用户隐私原则我们不再进行后续查询 类似案例援引自 腾讯安全应急响应中心(TSRC)的文章: 依赖包抢注,典型案例有: 2017年多款Python/Nodejs库包被爆存在恶意代码,主要利用名称相似性误导用户安装,数万主机误安装受到影响。 2020年国外安全研究员发现多家国际知名企业的内部私有包名在GitHub、Web页面泄露,随后在PyPI/NPM/RubyGems抢注并上传同名包,最终这些企业的内部服务器被迫安装恶意包受到影响。 后记实际上之前就有国外网友讨论过,国内好像没人写类似的东西:https://news.ycombinator.com/item?id=26087489 |
CopyRight 2018-2019 实验室设备网 版权所有 |